import java.util.*;


public class AlgoritmPTBF
{
	public static int test(boolean [] viz)
	{
		for(int i=0;i<viz.length;i++)
			if(viz[i] == false)
				return i;
		return -1;
	}
	
	public static String getParcurgere(GrafOrientat graf)
	{
		Queue <Integer> q = new LinkedList<Integer>();
		boolean [] viz = new boolean [graf.getNrVarfuri()];
		String s="";
		
		s+=" 0";
		viz[0] = true;
		q.add(0);
		while(test(viz) != -1)
		{
			if(q.isEmpty())
				{
					q.add(test(viz));
					s=s+" "+String.valueOf(test(viz));
					viz[test(viz)] = true;
				}
			while(!q.isEmpty())
			{
				int aux = q.remove();
				/*for(int i:graf.getListaAd(aux))
					if(!viz[i])
					{
						
					}*/
				for(int i=0; i < graf.getNrElem(aux) ;i++)
					if(viz[graf.getListaAd(aux).get(i)] == false)
					{
						q.add(graf.getListaAd(aux).get(i));
						viz[graf.getListaAd(aux).get(i)] = true;
						s+=" ";
						s+=graf.getListaAd(aux).get(i);
					}
					
			}
		}
		//System.out.println(s);
		return s;
	}
}
